package ie.lawlor.amvc;

import ie.lawlor.amvc.event.EventName;
import ie.lawlor.amvc.event.IEventSink;

/**
 * @author blawlor
 *
 */
public interface IController extends IEventSink {
  /**
   * @return
   */
  String getName();
  void setName(String name);
  void setParent(IController parent);
  void addChild(String childName, IController child);
  boolean isVisible();
  void visibilityUpdated(boolean visible);
  public EventName getEvent(String key);
}